/*
 * eegstdpos.h
 *
 *  Created on: Jan 2, 2010
 *      Author: zaca
 */

#ifndef EEGSTDPOS_H_
#define EEGSTDPOS_H_

#include <biosignal/sourcesignalposition.h>
#include <string>
#include <map>


template<typename T>
class Singleton {
public:
	static T& Instance() {
		static T instanceSingleton;
		return instanceSingleton;
	}
};

namespace biosignal {

namespace eeg {

class EEGStdPos: public Singleton<EEGStdPos> {
	friend class Singleton<EEGStdPos> ;
public:
	const Position& get_std_position(std::string label) const throw(PositionUndefined);
private:
	EEGStdPos();
	void add_source(std::string source_line);
	std::map<std::string, Position> m_std_positions;
};

}
}
#endif /* EEGSTDPOS_H_ */
